package cn.tedu.spring.eg_beanLife;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

@Service
public class ShopController {

    // Bean对象生命周期
    private String name;


    // 1、初始化无参构造
    public ShopController(){
        System.out.println("1、Bean对象生命周期第一阶段");
    }

    // 2、使用set方法和注解进行属性初始化
    @Value("ShopController")
    public void setName(String name) {
        this.name = name;
        System.out.println("2、Bean对象第二阶段");
    }

    //3、Bean对象生命周期第三阶段
    @PostConstruct
    public void init(){
        System.out.println("3、ean对象生命周期第三阶段");
    }

    // 5、Bean对象生命周期第五阶段
    @PreDestroy
    public void destroy(){
        System.out.println("Bean对象生命周期第五阶段");
    }
}
